Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update build workflows to use image caching, multi-arch, auto-tag #925

Merged
merged 69 commits into from
Oct 22, 2023

Conversation

spwoodcock
Copy link
Member

@spwoodcock spwoodcock commented Oct 19, 2023

Fixes #837 Fixes #786

Tidy up:

  • Move scripts dir and (remote) josm dir to contrib.

Update to workflows:

  • Build docs from development, instead of main.
  • Add caching to builds using github registry caching & buildx for builds.
  • Make images multi-arch by default (run on AMD + ARM (Apple M chips).
  • Auto-tag images using semver:
    • Images built during push will simply be tagged after the branch.
    • Images build from a tag or release will be tagged accordingly.
  • .env set by all vars and secrets in environment (non-selective).

Progress towards #920

Note (important)

  • As part of this PR I added image caching for images during the pytest run.
  • This actually decreases performance slightly over directly pulling images every time (30s to 1m extra run time).
  • However, it is a worth tradeoff. Many container registries impose rate limiting (docker.io), so this will help to prevent tests failing due to rate limiting (from many consecutive pytest runs) if we have a lot of PRs being working on.

@spwoodcock spwoodcock self-assigned this Oct 19, 2023
@github-actions github-actions bot added backend Related to backend code devops Related to deployment or configuration frontend Related to frontend code labels Oct 19, 2023
@spwoodcock spwoodcock removed frontend Related to frontend code backend Related to backend code labels Oct 19, 2023
@github-actions github-actions bot added backend Related to backend code frontend Related to frontend code ODK Any requests for optimizing ODK labels Oct 19, 2023
@spwoodcock spwoodcock temporarily deployed to test October 19, 2023 13:44 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 19, 2023 15:17 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 19, 2023 15:23 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 19, 2023 15:36 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:23 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:27 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:31 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:35 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:35 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:49 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 05:50 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 14:29 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 14:41 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 15:06 — with GitHub Actions Inactive
@spwoodcock spwoodcock temporarily deployed to test October 22, 2023 15:11 — with GitHub Actions Inactive
@spwoodcock spwoodcock merged commit e45e05e into development Oct 22, 2023
6 of 7 checks passed
@spwoodcock spwoodcock deleted the ci/image-caching branch October 22, 2023 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Related to backend code devops Related to deployment or configuration frontend Related to frontend code ODK Any requests for optimizing ODK
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multi-arch image builds Update deploy config to use multiple vars
1 participant